﻿using System.Collections.Generic;
using CollegeSim.CourseScheduler.Domain.DTO;

namespace CollegeSim.CourseScheduler.Domain.Interfaces.Repositories
{
    // Author: Ryan Redburn
    // Project: Course Scheduler
    // Date: 2/4/2014

    public interface ICourseRepository
    {
        IEnumerable<CourseDto> FindAll();
        IEnumerable<CourseDto> FindBySubject(string subject);
        IEnumerable<CourseDto> FindByCreditHours(int hours);
        IEnumerable<CourseDto> FindByStyle(bool isOnline);
        IEnumerable<CourseDto> FindByInstructor(int instructorId);
        IEnumerable<CourseDto> FindByInstructor(string firstName, string lastName);
        IEnumerable<CourseDto> FindByCRN(string crn);
        CourseDto FindById(int id);
        CourseDto FindByTitle(string title);
        void Insert(CourseDto newCourse);
        void Update(CourseDto courseUpdate);
        void Delete(CourseDto courseDel);
    }
}
